﻿package com.yc.baihe.dao;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import com.yc.baihe.utils.LogUtil;

//import com.yht.stuinfo.utils.LogUtil;


@SuppressWarnings("serial")
public class ReadDBProperties extends Properties{
	//类加载的时候创建一个ReadDBProperties对象
	private static ReadDBProperties instance=new ReadDBProperties();
	
	/**
	 * 构造方法私有化
	 */
	private ReadDBProperties(){
		//读取配置文件db.properties
		InputStream is = ReadDBProperties.class.getResourceAsStream("/db.properties");
		
		try {
			this.load(is);//将流里面的字节码加载到对象中,从输入流中读取属性列表(键和元素对)
			/**
			 *  作用和效果
			 *  	properties.put("drivername","oracle.jdbc.driver.OracleDriver")
			 */
		} catch (IOException e) {
			LogUtil.log.error( e.toString() );//记录到日志文件中
			throw new RuntimeException(e);//抛出一个运行时异常,以便调用者处理这个异常
		}finally{
			try {
				is.close();
			} catch (IOException e) {
				LogUtil.log.error( e.toString() );//记录到日志文件中
				throw new RuntimeException(e);//抛出一个运行时异常,以便调用者处理这个异常
			}
		}
	}
	
	/**
	 * 提供一个公有方法获取对象
	 * @return
	 */
	public static ReadDBProperties getInstance(){
		return instance;
	}
}
